﻿package plugin.store
{
    import com.core.*;
    import flash.utils.*;
    import pluginfw.nio.*;
    import pluginfw.nio.imsg.*;

    public class StoreGroupHandler extends Object implements IGroupHandler
    {

        public function StoreGroupHandler()
        {
            return;
        }// end function

        public function dealSimpleMessage(param1:ISimpleMessage) : void
        {
            return;
        }// end function

        public function dealBufferMessage(param1:IBufferMessage) : void
        {
            var _loc_3:Input = null;
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_7:Array = null;
            var _loc_8:Boolean = false;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            var _loc_11:Object = null;
            var _loc_2:* = new Object();
            _loc_3 = new Input(null);
            var _loc_4:* = param1.getBody();
            param1.getBody().position = 0;
            _loc_3.setBytes(_loc_4);
            switch(param1.getCmd())
            {
                case CmdStore._2GETSTOREINFO:
                {
                    _loc_5 = _loc_3.readShort();
                    _loc_2.storeItemsInfo = new Array();
                    _loc_9 = 0;
                    while (_loc_9 < _loc_5)
                    {
                        
                        _loc_10 = _loc_3.readByte();
                        if (_loc_10 != 0)
                        {
                            _loc_2.storeItemsInfo[_loc_9] = new Object();
                            _loc_2.storeItemsInfo[_loc_9].storeId = _loc_3.readVarInt(false);
                            _loc_2.storeItemsInfo[_loc_9].buyNum = _loc_3.readVarInt(false);
                            _loc_2.storeItemsInfo[_loc_9].allBuyNum = _loc_3.readVarInt(false);
                        }
                        _loc_9++;
                    }
                    ModelProxy.change("data", "storeInfo", _loc_2.storeItemsInfo);
                    ModelProxy.change("store", "init", null);
                    break;
                }
                case CmdStore._3BUY:
                {
                    _loc_6 = _loc_3.readByte();
                    if (_loc_6 != 0)
                    {
                        _loc_2.storeItemInfo = new Object();
                        _loc_2.storeItemInfo.storeId = _loc_3.readVarInt(false);
                        _loc_2.storeItemInfo.buyNum = _loc_3.readVarInt(false);
                        _loc_2.storeItemInfo.allBuyNum = _loc_3.readVarInt(false);
                    }
                    _loc_7 = ModelProxy.getValue("data", "storeInfo");
                    _loc_8 = true;
                    for each (_loc_11 in _loc_7)
                    {
                        
                        if (_loc_11.storeId == _loc_2.storeItemInfo.storeId)
                        {
                            _loc_11.buyNum = _loc_2.storeItemInfo.buyNum;
                            _loc_11.allBuyNum = _loc_2.storeItemInfo.allBuyNum;
                            _loc_8 = false;
                            break;
                        }
                    }
                    if (_loc_8)
                    {
                        if (_loc_7)
                        {
                            _loc_7.push(_loc_2.storeItemInfo);
                        }
                    }
                    break;
                }
                case CmdStore._6TIQU:
                {
                    _loc_2.num = _loc_3.readVarInt(false);
                    ModelProxy.change("data", "yuanbao", _loc_2.num);
                    ModelProxy.change("mainui", "checkYuanBao", null);
                    break;
                }
                case CmdStore._7NewOrder:
                {
                    _loc_2 = _loc_3.readVarInt(false);
                    ModelProxy.change("data", "yuanbao", _loc_2);
                    ModelProxy.change("mainui", "checkYuanBao", null);
                    ModelProxy.change("movetips", "error", "充值成功，当前余额：" + int(_loc_2));
                    break;
                }
                default:
                {
                    break;
                }
            }
            return;
        }// end function

        public function dealProxyMessage(param1:IProxyMessage) : void
        {
            return;
        }// end function

    }
}
